using System;

namespace ibba.src.noriskbo.Models
{
    public class PortfolioCliente : ModelBase, IEquatable<PortfolioCliente>
    {        
        private int _idPortfolioCliente;
        private string _cdContrato;
        private int? _idCliente;
        private string _noCnpjCpf;
        private int? _idVeliculoLegal;
        private string _nomeCliente;
        private string _nomeVeiculoLegal;               
        
        public int IdPortfolioCliente
        {
            set { _idPortfolioCliente = value; }
            get { return _idPortfolioCliente; }
        }

        public string CdContrato
        {
            set { _cdContrato = value; }
            get { return _cdContrato; }
        }

        public int? IdCliente
        {
            set 
            {
                if (_idCliente != value)                
                    NomeCliente = String.Empty;                

                _idCliente = value;
                OnPropertyChanged("IdCliente");
            }
            get { return _idCliente; }
        }

        public string NoCnpjCpf
        {
            set
            {
                _noCnpjCpf = value;
                OnPropertyChanged("NoCnpjCpf");
            }
            get { return _noCnpjCpf; }
        }

        public int? IdVeiculoLegal
        {
            set
            {
                if(_idCliente != value)
                    NomeVeiculoLegal = String.Empty;
                    
                _idVeliculoLegal = value;
                OnPropertyChanged("IdVeiculoLegal");
            }
            get { return _idVeliculoLegal; }
        }

        public string NomeCliente
        {
            set
            {
                _nomeCliente = value;
                OnPropertyChanged("NomeCliente");
            }
            get { return _nomeCliente; }
        }

        public string NomeVeiculoLegal
        {
            set
            {
                _nomeVeiculoLegal = value;
                OnPropertyChanged("NomeVeiculoLegal");
            }
            get { return _nomeVeiculoLegal; }
        }

        public bool Equals(PortfolioCliente other)
        {
            if (this.IdCliente == other.IdCliente &&
                this.IdVeiculoLegal == other.IdVeiculoLegal)

                return true;
            else
                return false;
        }
    }
}
